package com.zkt.recommend.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户多维能力画像dto
 * </p>
 *
 * @author 赵开泰
 * @since 2025-03-27
 */

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class RecommendUserPortraitDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 标签ID
     */
    private Long labelId;
    
    /**
     * 标签名称
     */
    private String labelName;

    /**
     * 掌握度分数（0-100）
     */
    private Integer masteryScore;

    /**
     * 最后练习时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lastPracticeTime;

    /**
     * 练习次数
     */
    private Integer practiceCount;

    /**
     * 平均耗时（秒）
     */
    private BigDecimal avgDuration;

    /**
     * 平均得分率（%）
     */
    private BigDecimal avgScore;
    
}
